# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
# 指定基础镜像为 bellsoft/liberica-openjdk-debian:17.0.11-cds，用于构建应用所需的Java环境
FROM bellsoft/liberica-openjdk-debian:17.0.11-cds
#FROM bellsoft/liberica-openjdk-debian:21.0.3-cds
#FROM findepi/graalvm:java17-native

# 指定维护者信息
LABEL maintainer="Lion Li"

# 创建必要的目录结构，用于存放日志文件
RUN mkdir -p /ruoyi/snailjob/logs

# 设置工作目录，后续的命令将在该目录下执行
WORKDIR /ruoyi/snailjob

# 配置语言环境和Java启动参数
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="-Xms512m -Xmx1024m"

# 暴露服务端口和监控端口
EXPOSE 8800
EXPOSE 17888

# 将本地构建的Jar包添加到镜像中
ADD ./target/ruoyi-snailjob-server.jar ./app.jar

# 指定容器启动时执行的命令及参数
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
           -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
           -jar app.jar
